home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 1.0 for Developers / QuickTime 1.0 for Developers.iso / Programming Stuff / Sample Code / MovieController Exerciser / MovieController Exerciserπ / MovieController Exerciserπ.rsrc / CODE_1.txt < prev    next >
Text File  |  1991-09-11  |  53KB  |  961 lines

  1. # near model CODE resource
  2. # jump table entries: 0-9 (10 of them)
  3. 00000000  0000 0000                ori.b      D0, 0x0
  4. 00000004  0000 0000                ori.b      D0, 0x0
  5. 00000008  0000 0000                ori.b      D0, 0x0
  6. 0000000C  0000 0000                ori.b      D0, 0x0
  7. 00000010  0000 0000                ori.b      D0, 0x0
  8. 00000014  0000 0000                ori.b      D0, 0x0
  9. 00000018  0000 0005                ori.b      D0, 0x5
  10. export_0:
  11. 0000001C  4278 0A4A                clr.w      [0x00000A4A /* FPState */]
  12. 00000020  9DCE                     sub.l      A6, A6
  13. 00000022  4EBA 0054                jsr        [PC + 0x54 /* 00000078 */]
  14. 00000026  4EBA 0064                jsr        [PC + 0x64 /* 0000008C */]
  15. 0000002A  2C3C 494E 4458           move.l     D6, 0x494E4458 /* 'INDX' */
  16. 00000030  4EBA 073A                jsr        [PC + 0x73A /* 0000076C */]
  17. 00000034  47FA FFCA                lea.l      A3, [PC - 0x36 /* 00000000, value 0x0, cstring "" */]
  18. 00000038  268C                     move.l     [A3], A4
  19. 0000003A  47FA FFC8                lea.l      A3, [PC - 0x38 /* 00000004, value 0x0, cstring "" */]
  20. 0000003E  2684                     move.l     [A3], D4
  21. 00000040  4EBA 006C                jsr        [PC + 0x6C /* 000000AE */]
  22. 00000044  4EBA 03A2                jsr        [PC + 0x3A2 /* 000003E8 */]
  23. 00000048  4EBA 07F2                jsr        [PC + 0x7F2 /* 0000083C */]
  24. 0000004C  4EBA 00DE                jsr        [PC + 0xDE /* 0000012C */]
  25. 00000050  4EBA 00AA                jsr        [PC + 0xAA /* 000000FC */]
  26. 00000054  4267                     clr.w      -[A7]
  27. 00000056  4878 FFFF                push.l     0xFFFF
  28. 0000005A  486F 0004                pea.l      [A7 + 0x4]
  29. 0000005E  4857                     pea.l      [A7]
  30. 00000060  4878 0001                push.l     0x1
  31. 00000064  223A FFB2                move.l     D1, [PC - 0x4E /* 00000018, value 0x5, cstring "" */]
  32. 00000068  4EBA 054E                jsr        [PC + 0x54E /* 000005B8 */]
  33. 0000006C  4EB5 1800                jsr        [A5 + D1]
  34. 00000070  206D 006C                movea.l    A0, [A5 + 0x6C]
  35. 00000074  4E90                     jsr        [A0]
  36. 00000076  A9F4                     syscall    ExitToShell
  37. fn00000078:
  38. 00000078  51F8 0A5E                sf         [0x00000A5E /* ResLoad */]
  39. 0000007C  7000                     moveq.l    D0, 0x00
  40. 0000007E  4EBA 04C6                jsr        [PC + 0x4C6 /* 00000546 */]
  41. 00000082  6706                     beq        +0x8 /* 0000008A */
  42. 00000084  4A90                     tst.l      [A0]
  43. 00000086  6702                     beq        +0x4 /* 0000008A */
  44. 00000088  A049                     syscall    HPurge
  45. label0000008A:
  46. 0000008A  4E75                     rts
  47. fn0000008C:
  48. 0000008C  2038 0A78                move.l     D0, [0x00000A78 /* ApplScratch */]
  49. 00000090  660E                     bne        +0x10 /* 000000A0 */
  50. 00000092  2C3C 5A4F 4E45           move.l     D6, 0x5A4F4E45 /* 'ZONE' */
  51. 00000098  4EBA 06D2                jsr        [PC + 0x6D2 /* 0000076C */]
  52. 0000009C  200C                     move.l     D0, A4
  53. 0000009E  6006                     bra        +0x8 /* 000000A6 */
  54. label000000A0:
  55. 000000A0  2640                     movea.l    A3, D0
  56. 000000A2  202B 0020                move.l     D0, [A3 + 0x20]
  57. label000000A6:
  58. 000000A6  47FA FF60                lea.l      A3, [PC - 0xA0 /* 00000008, value 0x0, cstring "" */]
  59. 000000AA  2680                     move.l     [A3], D0
  60. 000000AC  4E75                     rts
  61. fn000000AE:
  62. 000000AE  2C3C 4441 5441           move.l     D6, 0x44415441 /* 'DATA' */
  63. 000000B4  4EBA 06B6                jsr        [PC + 0x6B6 /* 0000076C */]
  64. 000000B8  204C                     movea.l    A0, A4
  65. 000000BA  2278 0908                movea.l    A1, [0x00000908 /* CurStackBase */]
  66. 000000BE  2004                     move.l     D0, D4
  67. 000000C0  A02E                     syscall    BlockMove/BlockMoveData
  68. 000000C2  4EBA 076A                jsr        [PC + 0x76A /* 0000082E */]
  69. 000000C6  47FA FF48                lea.l      A3, [PC - 0xB8 /* 00000010, value 0x0, cstring "" */]
  70. 000000CA  2684                     move.l     [A3], D4
  71. 000000CC  2C3C 5354 5253           move.l     D6, 0x53545253 /* 'STRS' */
  72. 000000D2  4EBA 0698                jsr        [PC + 0x698 /* 0000076C */]
  73. 000000D6  47FA FF34                lea.l      A3, [PC - 0xCC /* 0000000C, value 0x0, cstring "" */]
  74. 000000DA  268C                     move.l     [A3], A4
  75. 000000DC  2C3C 4452 454C           move.l     D6, 0x4452454C /* 'DREL' */
  76. 000000E2  4EBA 0688                jsr        [PC + 0x688 /* 0000076C */]
  77. 000000E6  204C                     movea.l    A0, A4
  78. 000000E8  2004                     move.l     D0, D4
  79. 000000EA  670C                     beq        +0xE /* 000000F8 */
  80. label000000EC:
  81. 000000EC  4EBA 02AE                jsr        [PC + 0x2AE /* 0000039C */]
  82. 000000F0  0480 0000 000C           subi.l     D0, 0xC
  83. 000000F6  66F4                     bne        -0xA /* 000000EC */
  84. label000000F8:
  85. 000000F8  4EFA 0734                jmp        [PC + 0x734 /* 0000082E */]
  86. fn000000FC:
  87. 000000FC  4E56 FFDA                link       A6, -0x0026
  88. 00000100  41F8 0910                lea.l      A0, [0x00000910 /* CurApName */]
  89. 00000104  224F                     movea.l    A1, A7
  90. 00000106  7020                     moveq.l    D0, 0x20
  91. 00000108  A02E                     syscall    BlockMove/BlockMoveData
  92. 0000010A  7001                     moveq.l    D0, 0x01
  93. 0000010C  D011                     add.b      D0, [A1]
  94. 0000010E  5A11                     addq.b     [A1], 5
  95. 00000110  D2C0                     add.w      A1, D0
  96. 00000112  41FA 0012                lea.l      A0, [PC + 0x12 /* 00000126, value 0x2E727372 '.rsr', cstring ".rsrc" */]
  97. 00000116  7005                     moveq.l    D0, 0x05
  98. 00000118  A02E                     syscall    BlockMove/BlockMoveData
  99. 0000011A  558F                     subq.l     A7, 2
  100. 0000011C  486F 0002                pea.l      [A7 + 0x2]
  101. 00000120  A997                     syscall    OpenResFile
  102. 00000122  4E5E                     unlink     A6
  103. 00000124  4E75                     rts
  104. 00000126  2E72 7372 6300 47FA 07F6 movea.l    A7, [[A2 + 0x630047FA] + 0x7F6]
  105. // begin alternate branch 0000012C-00000130
  106. fn0000012C:
  107. 0000012C  47FA 07F6                lea.l      A3, [PC + 0x7F6 /* 00000924, value 0x0, cstring "" */]
  108. // end alternate branch 0000012C-00000130
  109. fn0000012C: // (misaligned)
  110. 00000130  26B8 0A7C                move.l     [A3], [0x00000A7C]
  111. 00000134  2078 0A78                movea.l    A0, [0x00000A78 /* ApplScratch */]
  112. 00000138  B1FC 0000 0000           cmpa.l     A0, 0x0
  113. 0000013E  6708                     beq        +0xA /* 00000148 */
  114. 00000140  47FA 07E6                lea.l      A3, [PC + 0x7E6 /* 00000928, value 0x0, cstring "" */]
  115. 00000144  26A8 0016                move.l     [A3], [A0 + 0x16]
  116. label00000148:
  117. 00000148  2F38 0A80                move.l     -[A7], [0x00000A80]
  118. 0000014C  6602                     bne        +0x4 /* 00000150 */
  119. 0000014E  588F                     addq.l     A7, 4
  120. label00000150:
  121. 00000150  4E75                     rts
  122. 00000152  588F                     addq.l     A7, 4
  123. 00000154  48E7 FFF8                movem.l    -[A7], D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4
  124. 00000158  3E2F 0038                move.w     D7, [A7 + 0x38]
  125. 0000015C  51F8 0A5E                sf         [0x00000A5E /* ResLoad */]
  126. 00000160  600A                     bra        +0xC /* 0000016C */
  127. label00000162:
  128. 00000162  598F                     subq.l     A7, 4
  129. 00000164  2F08                     move.l     -[A7], A0
  130. 00000166  A9A5                     syscall    GetResourceSizeOnDisk/SizeResource/SizeRsrc
  131. 00000168  201F                     move.l     D0, [A7]+
  132. 0000016A  A040                     syscall    ResrvMem/ReserveMem
  133. label0000016C:
  134. 0000016C  3007                     move.w     D0, D7
  135. 0000016E  4EBA 03D6                jsr        [PC + 0x3D6 /* 00000546 */]
  136. 00000172  676C                     beq        +0x6E /* 000001E0 */
  137. 00000174  47FA FE9E                lea.l      A3, [PC - 0x162 /* 00000014, value 0x0, cstring "" */]
  138. 00000178  2688                     move.l     [A3], A0
  139. 0000017A  2010                     move.l     D0, [A0]
  140. 0000017C  67E4                     beq        -0x1A /* 00000162 */
  141. 0000017E  2240                     movea.l    A1, D0
  142. 00000180  4A91                     tst.l      [A1]
  143. 00000182  662E                     bne        +0x30 /* 000001B2 */
  144. 00000184  A029                     syscall    HLock
  145. 00000186  A049                     syscall    HPurge
  146. 00000188  2C3C 4352 454C           move.l     D6, 0x4352454C /* 'CREL' */
  147. 0000018E  4EBA 05DE                jsr        [PC + 0x5DE /* 0000076E */]
  148. 00000192  674C                     beq        +0x4E /* 000001E0 */
  149. 00000194  3E2F 0038                move.w     D7, [A7 + 0x38]
  150. 00000198  204C                     movea.l    A0, A4
  151. 0000019A  2004                     move.l     D0, D4
  152. 0000019C  670C                     beq        +0xE /* 000001AA */
  153. label0000019E:
  154. 0000019E  4EBA 00DA                jsr        [PC + 0xDA /* 0000027A */]
  155. 000001A2  0480 0000 000C           subi.l     D0, 0xC
  156. 000001A8  66F4                     bne        -0xA /* 0000019E */
  157. label000001AA:
  158. 000001AA  4EBA 0682                jsr        [PC + 0x682 /* 0000082E */]
  159. 000001AE  4EBA 027C                jsr        [PC + 0x27C /* 0000042C */]
  160. label000001B2:
  161. 000001B2  207A FE60                movea.l    A0, [PC - 0x1A0 /* 00000014, value 0x0, cstring "" */]
  162. 000001B6  A069                     syscall    HGetState
  163. 000001B8  0800 0007                btst.b     D0, 0x7
  164. 000001BC  6604                     bne        +0x6 /* 000001C2 */
  165. 000001BE  A064                     syscall    MoveHHi
  166. 000001C0  A029                     syscall    HLock
  167. label000001C2:
  168. 000001C2  4EBA 02E6                jsr        [PC + 0x2E6 /* 000004AA */]
  169. 000001C6  226F 0034                movea.l    A1, [A7 + 0x34]
  170. 000001CA  5D89                     subq.l     A1, 6
  171. 000001CC  2F49 0036                move.l     [A7 + 0x36], A1
  172. 000001D0  4CDF 1FFF                movem.l    D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4, [A7]+
  173. 000001D4  548F                     addq.l     A7, 2
  174. 000001D6  4A38 012D                tst.b      [0x0000012D /* LoadTrap */]
  175. 000001DA  6702                     beq        +0x4 /* 000001DE */
  176. 000001DC  A9FF                     syscall    Debugger
  177. label000001DE:
  178. 000001DE  4E75                     rts
  179. label000001E0:
  180. 000001E0  700F                     moveq.l    D0, 0x0F
  181. 000001E2  A9C9                     syscall    SysError
  182. 000001E4  588F                     addq.l     A7, 4
  183. 000001E6  206F 0004                movea.l    A0, [A7 + 0x4]
  184. 000001EA  0C50 4EF9                cmpi.w     [A0], 0x4EF9
  185. 000001EE  660E                     bne        +0x10 /* 000001FE */
  186. 000001F0  3020                     move.w     D0, -[A0]
  187. 000001F2  4EBA 0352                jsr        [PC + 0x352 /* 00000546 */]
  188. 000001F6  67E8                     beq        -0x16 /* 000001E0 */
  189. 000001F8  A02A                     syscall    HUnlock
  190. 000001FA  4EBA 0280                jsr        [PC + 0x280 /* 0000047C */]
  191. label000001FE:
  192. 000001FE  2E9F                     move.l     [A7], [A7]+
  193. 00000200  4E75                     rts
  194. 00000202  4EBA 072A                jsr        [PC + 0x72A /* 0000092E */]
  195. 00000206  4EBA 000E                jsr        [PC + 0xE /* 00000216 */]
  196. 0000020A  4EBA 0698                jsr        [PC + 0x698 /* 000008A4 */]
  197. 0000020E  4E75                     rts
  198. 00000210  4EBA 071C                jsr        [PC + 0x71C /* 0000092E */]
  199. 00000214  4E75                     rts
  200. fn00000216:
  201. 00000216  203A 0710                move.l     D0, [PC + 0x710 /* 00000928, value 0x0, cstring "" */]
  202. 0000021A  6600 0032                bne        +0x34 /* 0000024E */
  203. 0000021E  2078 02A6                movea.l    A0, [0x000002A6 /* SysZone */]
  204. 00000222  700C                     moveq.l    D0, 0x0C
  205. 00000224  D090                     add.l      D0, [A0]
  206. 00000226  B0B8 02AA                cmp.l      D0, [0x000002AA /* ApplZone */]
  207. 0000022A  6622                     bne        +0x24 /* 0000024E */
  208. 0000022C  2078 0AEC                movea.l    A0, [0x00000AEC /* AppParmHandle */]
  209. 00000230  A025                     syscall    GetHandleSize
  210. 00000232  2050                     movea.l    A0, [A0]
  211. 00000234  2248                     movea.l    A1, A0
  212. 00000236  2218                     move.l     D1, [A0]+
  213. 00000238  600A                     bra        +0xC /* 00000244 */
  214. label0000023A:
  215. 0000023A  41E8 0008                lea.l      A0, [A0 + 0x8]
  216. 0000023E  7401                     moveq.l    D2, 0x01
  217. 00000240  8418                     or.b       D2, [A0]+
  218. 00000242  D0C2                     add.w      A0, D2
  219. label00000244:
  220. 00000244  51C9 FFF4                dbf        D1, -0xE /* 0000023A */
  221. 00000248  9088                     sub.l      D0, A0
  222. 0000024A  D089                     add.l      D0, A1
  223. 0000024C  6602                     bne        +0x4 /* 00000250 */
  224. label0000024E:
  225. 0000024E  4E75                     rts
  226. label00000250:
  227. 00000250  2200                     move.l     D1, D0
  228. 00000252  A02E                     syscall    BlockMove/BlockMoveData
  229. 00000254  2078 0AEC                movea.l    A0, [0x00000AEC /* AppParmHandle */]
  230. 00000258  2001                     move.l     D0, D1
  231. 0000025A  A024                     syscall    SetHandleSize
  232. 0000025C  2250                     movea.l    A1, [A0]
  233. 0000025E  4FEF FFC0                lea.l      A7, [A7 - 0x40]
  234. 00000262  204F                     movea.l    A0, A7
  235. 00000264  42A8 0012                clr.l      [A0 + 0x12]
  236. 00000268  3169 0004 0016           move.w     [A0 + 0x16], [A1 + 0x4]
  237. 0000026E  A015                     syscall    SetVol/PBHSetVol/HSetVol
  238. 00000270  42A7                     clr.l      -[A7]
  239. 00000272  4869 000C                pea.l      [A1 + 0xC]
  240. 00000276  204F                     movea.l    A0, A7
  241. 00000278  A9F2                     syscall    Launch/LaunchApplication
  242. fn0000027A:
  243. 0000027A  3218                     move.w     D1, [A0]+
  244. 0000027C  4EBA 02EE                jsr        [PC + 0x2EE /* 0000056C */]
  245. 00000280  2458                     movea.l    A2, [A0]+
  246. 00000282  D5C1                     add.l      A2, D1
  247. 00000284  3418                     move.w     D2, [A0]+
  248. 00000286  2218                     move.l     D1, [A0]+
  249. 00000288  6E3E                     bgt        +0x40 /* 000002C8 */
  250. 0000028A  6722                     beq        +0x24 /* 000002AE */
  251. 0000028C  5241                     addq.w     D1, 1
  252. 0000028E  6712                     beq        +0x14 /* 000002A2 */
  253. 00000290  5241                     addq.w     D1, 1
  254. 00000292  6726                     beq        +0x28 /* 000002BA */
  255. 00000294  5641                     addq.w     D1, 3
  256. 00000296  6700 00AE                beq        +0xB0 /* 00000346 */
  257. 0000029A  5241                     addq.w     D1, 1
  258. 0000029C  6700 0098                beq        +0x9A /* 00000336 */
  259. 000002A0  4E75                     rts
  260. label000002A2:
  261. 000002A2  3228 FFF4                move.w     D1, [A0 - 0xC]
  262. 000002A6  4EBA 02FC                jsr        [PC + 0x2FC /* 000005A4 */]
  263. 000002AA  D352                     add.w      [A2], D1
  264. 000002AC  4E75                     rts
  265. label000002AE:
  266. 000002AE  3228 FFF4                move.w     D1, [A0 - 0xC]
  267. 000002B2  4EBA 02CC                jsr        [PC + 0x2CC /* 00000580 */]
  268. 000002B6  D352                     add.w      [A2], D1
  269. 000002B8  4E75                     rts
  270. label000002BA:
  271. 000002BA  3228 FFF4                move.w     D1, [A0 - 0xC]
  272. 000002BE  4EBA 02D2                jsr        [PC + 0x2D2 /* 00000592 */]
  273. 000002C2  D3AA FFFE                add.l      [A2 - 0x2], D1
  274. 000002C6  4E75                     rts
  275. label000002C8:
  276. 000002C8  4EBA 0292                jsr        [PC + 0x292 /* 0000055C */]
  277. 000002CC  3229 000C                move.w     D1, [A1 + 0xC]
  278. 000002D0  4A69 000A                tst.w      [A1 + 0xA]
  279. 000002D4  6620                     bne        +0x22 /* 000002F6 */
  280. 000002D6  5442                     addq.w     D2, 2
  281. 000002D8  6A10                     bpl        +0x12 /* 000002EA */
  282. 000002DA  5242                     addq.w     D2, 1
  283. 000002DC  6678                     bne        +0x7A /* 00000356 */
  284. label000002DE:
  285. 000002DE  7063                     moveq.l    D0, 0x63
  286. 000002E0  A9C9                     syscall    SysError
  287. label000002E2:
  288. 000002E2  5242                     addq.w     D2, 1
  289. 000002E4  66F8                     bne        -0x6 /* 000002DE */
  290. 000002E6  D352                     add.w      [A2], D1
  291. 000002E8  4E75                     rts
  292. label000002EA:
  293. 000002EA  4EBA 0294                jsr        [PC + 0x294 /* 00000580 */]
  294. 000002EE  D2A9 000E                add.l      D1, [A1 + 0xE]
  295. 000002F2  D352                     add.w      [A2], D1
  296. 000002F4  4E75                     rts
  297. label000002F6:
  298. 000002F6  4EBA 02AC                jsr        [PC + 0x2AC /* 000005A4 */]
  299. 000002FA  D2A9 000E                add.l      D1, [A1 + 0xE]
  300. 000002FE  0C42 FFFC                cmpi.w     D2, 0xFFFC
  301. 00000302  6762                     beq        +0x64 /* 00000366 */
  302. 00000304  6D68                     blt        +0x6A /* 0000036E */
  303. 00000306  5242                     addq.w     D2, 1
  304. 00000308  6604                     bne        +0x6 /* 0000030E */
  305. 0000030A  D352                     add.w      [A2], D1
  306. 0000030C  4E75                     rts
  307. label0000030E:
  308. 0000030E  43F5 1802                lea.l      A1, [A5 + D1 + 0x2]
  309. 00000312  BE51                     cmp.w      D7, [A1]
  310. 00000314  66CC                     bne        -0x32 /* 000002E2 */
  311. 00000316  0C61 3F3C                cmpi.w     -[A1], 0x3F3C /* '?<' */
  312. 0000031A  66C6                     bne        -0x38 /* 000002E2 */
  313. 0000031C  5242                     addq.w     D2, 1
  314. 0000031E  6606                     bne        +0x8 /* 00000326 */
  315. 00000320  0A6A 0017 FFFE           xori.w     [A2 - 0x2], 0x17
  316. label00000326:
  317. 00000326  3221                     move.w     D1, -[A1]
  318. 00000328  5841                     addq.w     D1, 4
  319. 0000032A  227A FCE8                movea.l    A1, [PC - 0x318 /* 00000014, value 0x0, cstring "" */]
  320. 0000032E  D291                     add.l      D1, [A1]
  321. 00000330  924A                     sub.w      D1, A2
  322. 00000332  D352                     add.w      [A2], D1
  323. 00000334  4E75                     rts
  324. label00000336:
  325. 00000336  3228 FFF4                move.w     D1, [A0 - 0xC]
  326. 0000033A  4EBA 0268                jsr        [PC + 0x268 /* 000005A4 */]
  327. 0000033E  D28D                     add.l      D1, A5
  328. 00000340  D3AA FFFE                add.l      [A2 - 0x2], D1
  329. 00000344  4E75                     rts
  330. label00000346:
  331. 00000346  3228 FFF4                move.w     D1, [A0 - 0xC]
  332. 0000034A  4EBA 0234                jsr        [PC + 0x234 /* 00000580 */]
  333. 0000034E  D28D                     add.l      D1, A5
  334. 00000350  D3AA FFFE                add.l      [A2 - 0x2], D1
  335. 00000354  4E75                     rts
  336. label00000356:
  337. 00000356  4EBA 0228                jsr        [PC + 0x228 /* 00000580 */]
  338. 0000035A  D2A9 000E                add.l      D1, [A1 + 0xE]
  339. 0000035E  D28D                     add.l      D1, A5
  340. 00000360  D3AA FFFE                add.l      [A2 - 0x2], D1
  341. 00000364  4E75                     rts
  342. label00000366:
  343. 00000366  D28D                     add.l      D1, A5
  344. 00000368  D3AA FFFE                add.l      [A2 - 0x2], D1
  345. 0000036C  4E75                     rts
  346. label0000036E:
  347. 0000036E  43F5 1802                lea.l      A1, [A5 + D1 + 0x2]
  348. 00000372  BE51                     cmp.w      D7, [A1]
  349. 00000374  66F0                     bne        -0xE /* 00000366 */
  350. 00000376  0C61 3F3C                cmpi.w     -[A1], 0x3F3C /* '?<' */
  351. 0000037A  66EA                     bne        -0x14 /* 00000366 */
  352. 0000037C  0A6A 0003 FFFC           xori.w     [A2 - 0x4], 0x3
  353. 00000382  3221                     move.w     D1, -[A1]
  354. 00000384  5C41                     addq.w     D1, 6
  355. 00000386  227A FC8C                movea.l    A1, [PC - 0x374 /* 00000014, value 0x0, cstring "" */]
  356. 0000038A  D291                     add.l      D1, [A1]
  357. 0000038C  D2AA FFFE                add.l      D1, [A2 - 0x2]
  358. 00000390  924A                     sub.w      D1, A2
  359. 00000392  3541 FFFE                move.w     [A2 - 0x2], D1
  360. 00000396  34BC 4E71                move.w     [A2], 0x4E71 /* 'Nq' */
  361. 0000039A  4E75                     rts
  362. fn0000039C:
  363. 0000039C  3218                     move.w     D1, [A0]+
  364. 0000039E  4EBA 01E0                jsr        [PC + 0x1E0 /* 00000580 */]
  365. 000003A2  45F5 1800                lea.l      A2, [A5 + D1]
  366. 000003A6  D5D8                     add.l      A2, [A0]+
  367. 000003A8  3418                     move.w     D2, [A0]+
  368. 000003AA  6732                     beq        +0x34 /* 000003DE */
  369. 000003AC  2218                     move.l     D1, [A0]+
  370. 000003AE  6E24                     bgt        +0x26 /* 000003D4 */
  371. 000003B0  670E                     beq        +0x10 /* 000003C0 */
  372. 000003B2  5241                     addq.w     D1, 1
  373. 000003B4  6614                     bne        +0x16 /* 000003CA */
  374. 000003B6  3228 FFF4                move.w     D1, [A0 - 0xC]
  375. 000003BA  4EBA 01E8                jsr        [PC + 0x1E8 /* 000005A4 */]
  376. 000003BE  6018                     bra        +0x1A /* 000003D8 */
  377. label000003C0:
  378. 000003C0  3228 FFF4                move.w     D1, [A0 - 0xC]
  379. 000003C4  4EBA 01BA                jsr        [PC + 0x1BA /* 00000580 */]
  380. 000003C8  600E                     bra        +0x10 /* 000003D8 */
  381. label000003CA:
  382. 000003CA  3228 FFF4                move.w     D1, [A0 - 0xC]
  383. 000003CE  4EBA 01C2                jsr        [PC + 0x1C2 /* 00000592 */]
  384. 000003D2  6006                     bra        +0x8 /* 000003DA */
  385. label000003D4:
  386. 000003D4  4EBA 01E2                jsr        [PC + 0x1E2 /* 000005B8 */]
  387. label000003D8:
  388. 000003D8  D28D                     add.l      D1, A5
  389. label000003DA:
  390. 000003DA  D392                     add.l      [A2], D1
  391. 000003DC  4E75                     rts
  392. label000003DE:
  393. 000003DE  2218                     move.l     D1, [A0]+
  394. 000003E0  4EBA 01D6                jsr        [PC + 0x1D6 /* 000005B8 */]
  395. 000003E4  D352                     add.w      [A2], D1
  396. 000003E6  4E75                     rts
  397. fn000003E8:
  398. 000003E8  207A FC16                movea.l    A0, [PC - 0x3EA /* 00000000, value 0x0, cstring "" */]
  399. 000003EC  203A FC16                move.l     D0, [PC - 0x3EA /* 00000004, value 0x0, cstring "" */]
  400. label000003F0:
  401. 000003F0  4AA8 0000                tst.l      [A0 + 0x0]
  402. 000003F4  6728                     beq        +0x2A /* 0000041E */
  403. 000003F6  3228 0028                move.w     D1, [A0 + 0x28]
  404. 000003FA  6722                     beq        +0x24 /* 0000041E */
  405. 000003FC  2428 0018                move.l     D2, [A0 + 0x18]
  406. 00000400  5942                     subq.w     D2, 4
  407. 00000402  43ED 0010                lea.l      A1, [A5 + 0x10]
  408. 00000406  D3E8 0004                add.l      A1, [A0 + 0x4]
  409. label0000040A:
  410. 0000040A  D559                     add.w      [A1]+, D2
  411. 0000040C  32FC 3F3C                move.w     [A1]+, 0x3F3C /* '?<' */
  412. 00000410  4219                     clr.b      [A1]+
  413. 00000412  12E8 003D                move.b     [A1]+, [A0 + 0x3D]
  414. 00000416  32FC A9F0                move.w     [A1]+, 0xA9F0
  415. 0000041A  5141                     subq.w     D1, 8
  416. 0000041C  66EC                     bne        -0x12 /* 0000040A */
  417. label0000041E:
  418. 0000041E  41E8 0040                lea.l      A0, [A0 + 0x40]
  419. 00000422  0480 0000 0040           subi.l     D0, 0x40 /* '@' */
  420. 00000428  66C6                     bne        -0x38 /* 000003F0 */
  421. 0000042A  4E75                     rts
  422. fn0000042C:
  423. 0000042C  207A FBD2                movea.l    A0, [PC - 0x42E /* 00000000, value 0x0, cstring "" */]
  424. 00000430  203A FBD2                move.l     D0, [PC - 0x42E /* 00000004, value 0x0, cstring "" */]
  425. 00000434  72FF                     moveq.l    D1, 0xFFFFFFFF
  426. 00000436  7400                     moveq.l    D2, 0x00
  427. label00000438:
  428. 00000438  4AA8 0000                tst.l      [A0 + 0x0]
  429. 0000043C  671A                     beq        +0x1C /* 00000458 */
  430. 0000043E  BE28 003D                cmp.b      D7, [A0 + 0x3D]
  431. 00000442  6614                     bne        +0x16 /* 00000458 */
  432. 00000444  3628 0028                move.w     D3, [A0 + 0x28]
  433. 00000448  48C3                     ext.l      D3
  434. 0000044A  670C                     beq        +0xE /* 00000458 */
  435. 0000044C  D483                     add.l      D2, D3
  436. 0000044E  B2A8 0004                cmp.l      D1, [A0 + 0x4]
  437. 00000452  6504                     bcs        +0x6 /* 00000458 */
  438. 00000454  2228 0004                move.l     D1, [A0 + 0x4]
  439. label00000458:
  440. 00000458  41E8 0040                lea.l      A0, [A0 + 0x40]
  441. 0000045C  0480 0000 0040           subi.l     D0, 0x40 /* '@' */
  442. 00000462  66D4                     bne        -0x2A /* 00000438 */
  443. 00000464  207A FBAE                movea.l    A0, [PC - 0x452 /* 00000014, value 0x0, cstring "" */]
  444. 00000468  2050                     movea.l    A0, [A0]
  445. 0000046A  7010                     moveq.l    D0, 0x10
  446. 0000046C  9280                     sub.l      D1, D0
  447. 0000046E  E689                     lsr        D1, 3
  448. 00000470  30C1                     move.w     [A0]+, D1
  449. 00000472  E68A                     lsr        D2, 3
  450. 00000474  0042 8000                ori.w      D2, 0x8000
  451. 00000478  30C2                     move.w     [A0]+, D2
  452. 0000047A  4E75                     rts
  453. fn0000047C:
  454. 0000047C  2050                     movea.l    A0, [A0]
  455. 0000047E  7200                     moveq.l    D1, 0x00
  456. 00000480  3218                     move.w     D1, [A0]+
  457. 00000482  3018                     move.w     D0, [A0]+
  458. 00000484  0240 7FFF                andi.w     D0, 0x7FFF
  459. 00000488  E789                     lsl        D1, 3
  460. 0000048A  43F5 1820                lea.l      A1, [A5 + D1 + 0x20]
  461. 0000048E  3411                     move.w     D2, [A1]
  462. 00000490  6012                     bra        +0x14 /* 000004A4 */
  463. label00000492:
  464. 00000492  2229 0004                move.l     D1, [A1 + 0x4]
  465. 00000496  9288                     sub.l      D1, A0
  466. 00000498  32C1                     move.w     [A1]+, D1
  467. 0000049A  32FC 3F3C                move.w     [A1]+, 0x3F3C /* '?<' */
  468. 0000049E  32C2                     move.w     [A1]+, D2
  469. 000004A0  32FC A9F0                move.w     [A1]+, 0xA9F0
  470. label000004A4:
  471. 000004A4  51C8 FFEC                dbf        D0, -0x16 /* 00000492 */
  472. 000004A8  6036                     bra        +0x38 /* 000004E0 */
  473. fn000004AA:
  474. 000004AA  2010                     move.l     D0, [A0]
  475. 000004AC  A055                     syscall    StripAddress
  476. 000004AE  2040                     movea.l    A0, D0
  477. 000004B0  7200                     moveq.l    D1, 0x00
  478. 000004B2  3218                     move.w     D1, [A0]+
  479. 000004B4  3018                     move.w     D0, [A0]+
  480. 000004B6  0240 7FFF                andi.w     D0, 0x7FFF
  481. 000004BA  E789                     lsl        D1, 3
  482. 000004BC  43F5 1820                lea.l      A1, [A5 + D1 + 0x20]
  483. 000004C0  0C69 4EF9 0002           cmpi.w     [A1 + 0x2], 0x4EF9
  484. 000004C6  6718                     beq        +0x1A /* 000004E0 */
  485. 000004C8  3429 0004                move.w     D2, [A1 + 0x4]
  486. 000004CC  600E                     bra        +0x10 /* 000004DC */
  487. label000004CE:
  488. 000004CE  3211                     move.w     D1, [A1]
  489. 000004D0  4870 1000                pea.l      [A0 + D1.w]
  490. 000004D4  32C2                     move.w     [A1]+, D2
  491. 000004D6  32FC 4EF9                move.w     [A1]+, 0x4EF9
  492. 000004DA  22DF                     move.l     [A1]+, [A7]+
  493. label000004DC:
  494. 000004DC  51C8 FFF0                dbf        D0, -0x12 /* 000004CE */
  495. label000004E0:
  496. 000004E0  203A 000A                move.l     D0, [PC + 0xA /* 000004EC, value 0x0, cstring "" */]
  497. 000004E4  2040                     movea.l    A0, D0
  498. 000004E6  6602                     bne        +0x4 /* 000004EA */
  499. 000004E8  6106                     bsr        +0x8 /* 000004F0 */
  500. label000004EA:
  501. 000004EA  4ED0                     jmp        [A0]
  502. 000004EC  0000 0000                ori.b      D0, 0x0
  503. fn000004F0:
  504. 000004F0  303C A0BD                move.w     D0, 0xA0BD
  505. 000004F4  A346                     syscall    GetOSTrapAddress, flags=3
  506. 000004F6  2208                     move.l     D1, A0
  507. 000004F8  303C A89F                move.w     D0, 0xA89F
  508. 000004FC  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  509. 000004FE  B288                     cmp.l      D1, A0
  510. 00000500  6706                     beq        +0x8 /* 00000508 */
  511. 00000502  41FA 002C                lea.l      A0, [PC + 0x2C /* 00000530, value 0xA0BD4E75 */]
  512. 00000506  6020                     bra        +0x22 /* 00000528 */
  513. label00000508:
  514. 00000508  0C38 0004 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x4
  515. 0000050E  6506                     bcs        +0x8 /* 00000516 */
  516. 00000510  41FA 0022                lea.l      A0, [PC + 0x22 /* 00000534, value 0xF4F84E75 */]
  517. 00000514  6012                     bra        +0x14 /* 00000528 */
  518. label00000516:
  519. 00000516  0C38 0002 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x2
  520. 0000051C  6506                     bcs        +0x8 /* 00000524 */
  521. 0000051E  41FA 0018                lea.l      A0, [PC + 0x18 /* 00000538, value 0x4E7A0002, cstring "Nz" */]
  522. 00000522  6004                     bra        +0x6 /* 00000528 */
  523. label00000524:
  524. 00000524  41FA 001E                lea.l      A0, [PC + 0x1E /* 00000544, value 0x4E75598F */]
  525. label00000528:
  526. 00000528  43FA FFC2                lea.l      A1, [PC - 0x3E /* 000004EC, value 0x0, cstring "" */]
  527. 0000052C  2288                     move.l     [A1], A0
  528. 0000052E  4E75                     rts
  529. 00000530  A0BD                     syscall    vCacheFlush
  530. 00000532  4E75                     rts
  531. 00000534  F4F8                     cpusha     DATA+INST
  532. 00000536  4E75                     rts
  533. 00000538  4E7A                     .invalid   // invalid opcode 4
  534. 0000053A  0002 08C0                ori.b      D2, 0xC0
  535. 0000053E  0003 4E7B                ori.b      D3, 0x7B /* '{' */
  536. 00000542  0002 4E75                ori.b      D2, 0x75 /* 'u' */
  537. fn00000546:
  538. 00000546  598F                     subq.l     A7, 4
  539. 00000548  2F3C 434F 4445           move.l     -[A7], 0x434F4445 /* 'CODE' */
  540. 0000054E  3F00                     move.w     -[A7], D0
  541. 00000550  A9A0                     syscall    GetResource
  542. 00000552  205F                     movea.l    A0, [A7]+
  543. 00000554  50F8 0A5E                st         [0x00000A5E /* ResLoad */]
  544. 00000558  2008                     move.l     D0, A0
  545. 0000055A  4E75                     rts
  546. fn0000055C:
  547. 0000055C  287A FAAA                movea.l    A4, [PC - 0x556 /* 00000008, value 0x0, cstring "" */]
  548. 00000560  224C                     movea.l    A1, A4
  549. 00000562  93D4                     sub.l      A1, [A4]
  550. 00000564  E581                     asl        D1, 2
  551. 00000566  D9C1                     add.l      A4, D1
  552. 00000568  D3D4                     add.l      A1, [A4]
  553. 0000056A  4E75                     rts
  554. fn0000056C:
  555. 0000056C  287A FA92                movea.l    A4, [PC - 0x56E /* 00000000, value 0x0, cstring "" */]
  556. 00000570  C2FC 0040                mulu.w     D1, 0x40 /* '@' */
  557. 00000574  2234 1818                move.l     D1, [A4 + D1 + 0x18]
  558. 00000578  287A FA9A                movea.l    A4, [PC - 0x566 /* 00000014, value 0x0, cstring "" */]
  559. 0000057C  D294                     add.l      D1, [A4]
  560. 0000057E  4E75                     rts
  561. fn00000580:
  562. 00000580  287A FA7E                movea.l    A4, [PC - 0x582 /* 00000000, value 0x0, cstring "" */]
  563. 00000584  C2FC 0040                mulu.w     D1, 0x40 /* '@' */
  564. 00000588  2234 1808                move.l     D1, [A4 + D1 + 0x8]
  565. 0000058C  92BA FA82                sub.l      D1, [PC - 0x57E /* 00000010, value 0x0, cstring "" */]
  566. 00000590  4E75                     rts
  567. fn00000592:
  568. 00000592  287A FA6C                movea.l    A4, [PC - 0x594 /* 00000000, value 0x0, cstring "" */]
  569. 00000596  C2FC 0040                mulu.w     D1, 0x40 /* '@' */
  570. 0000059A  2234 1810                move.l     D1, [A4 + D1 + 0x10]
  571. 0000059E  D2BA FA6C                add.l      D1, [PC - 0x594 /* 0000000C, value 0x0, cstring "" */]
  572. 000005A2  4E75                     rts
  573. fn000005A4:
  574. 000005A4  287A FA5A                movea.l    A4, [PC - 0x5A6 /* 00000000, value 0x0, cstring "" */]
  575. 000005A8  C2FC 0040                mulu.w     D1, 0x40 /* '@' */
  576. 000005AC  2234 1804                move.l     D1, [A4 + D1 + 0x4]
  577. 000005B0  0681 0000 0010           addi.l     D1, 0x10
  578. 000005B6  4E75                     rts
  579. fn000005B8:
  580. 000005B8  4EBA FFA2                jsr        [PC - 0x5E /* 0000055C */]
  581. 000005BC  3229 000C                move.w     D1, [A1 + 0xC]
  582. 000005C0  4A69 000A                tst.w      [A1 + 0xA]
  583. 000005C4  6606                     bne        +0x8 /* 000005CC */
  584. 000005C6  4EBA FFB8                jsr        [PC - 0x48 /* 00000580 */]
  585. 000005CA  6004                     bra        +0x6 /* 000005D0 */
  586. label000005CC:
  587. 000005CC  4EBA FFD6                jsr        [PC - 0x2A /* 000005A4 */]
  588. label000005D0:
  589. 000005D0  D2A9 000E                add.l      D1, [A1 + 0xE]
  590. 000005D4  4E75                     rts
  591. export_1:
  592. 000005D6  205F                     movea.l    A0, [A7]+
  593. 000005D8  3218                     move.w     D1, [A0]+
  594. label000005DA:
  595. 000005DA  3418                     move.w     D2, [A0]+
  596. 000005DC  B058                     cmp.w      D0, [A0]+
  597. 000005DE  57C9 FFFA                dbeq       D1, -0x8 /* 000005DA */
  598. 000005E2  4A42                     tst.w      D2
  599. label000005E4:
  600. 000005E4  67FE                     beq        -0x0 /* 000005E4 */
  601. 000005E6  4EF0 20FC                jmp        [A0 + D2.w - 0x4]
  602. export_2:
  603. 000005EA  205F                     movea.l    A0, [A7]+
  604. 000005EC  3218                     move.w     D1, [A0]+
  605. label000005EE:
  606. 000005EE  3418                     move.w     D2, [A0]+
  607. 000005F0  B098                     cmp.l      D0, [A0]+
  608. 000005F2  57C9 FFFA                dbeq       D1, -0x8 /* 000005EE */
  609. 000005F6  4A42                     tst.w      D2
  610. label000005F8:
  611. 000005F8  67FE                     beq        -0x0 /* 000005F8 */
  612. 000005FA  4EF0 20FA                jmp        [A0 + D2.w - 0x6]
  613. export_3:
  614. 000005FE  205F                     movea.l    A0, [A7]+
  615. 00000600  3218                     move.w     D1, [A0]+
  616. 00000602  3418                     move.w     D2, [A0]+
  617. 00000604  B042                     cmp.w      D0, D2
  618. 00000606  6E0A                     bgt        +0xC /* 00000612 */
  619. 00000608  9041                     sub.w      D0, D1
  620. 0000060A  6D06                     blt        +0x8 /* 00000612 */
  621. 0000060C  D040                     add.w      D0, D0
  622. 0000060E  41F0 0002                lea.l      A0, [A0 + D0.w + 0x2]
  623. label00000612:
  624. 00000612  3010                     move.w     D0, [A0]
  625. label00000614:
  626. 00000614  67FE                     beq        -0x0 /* 00000614 */
  627. 00000616  4EF0 0000                jmp        [A0 + D0.w]
  628. export_4:
  629. 0000061A  202F 0004                move.l     D0, [A7 + 0x4]
  630. 0000061E  2F41 0004                move.l     [A7 + 0x4], D1
  631. 00000622  222F 0008                move.l     D1, [A7 + 0x8]
  632. 00000626  2F5F 0004                move.l     [A7 + 0x4], [A7]+
  633. 0000062A  48E7 3C00                movem.l    -[A7], D2,D3,D4,D5
  634. 0000062E  2400                     move.l     D2, D0
  635. 00000630  2601                     move.l     D3, D1
  636. 00000632  4842                     swap.w     D2
  637. 00000634  C4C3                     mulu.w     D2, D3
  638. 00000636  2800                     move.l     D4, D0
  639. 00000638  2A01                     move.l     D5, D1
  640. 0000063A  4845                     swap.w     D5
  641. 0000063C  C8C5                     mulu.w     D4, D5
  642. 0000063E  D444                     add.w      D2, D4
  643. 00000640  4842                     swap.w     D2
  644. 00000642  4242                     clr.w      D2
  645. 00000644  C0C1                     mulu.w     D0, D1
  646. 00000646  D082                     add.l      D0, D2
  647. 00000648  4CDF 003C                movem.l    D2,D3,D4,D5, [A7]+
  648. 0000064C  221F                     move.l     D1, [A7]+
  649. 0000064E  4E75                     rts
  650. export_5:
  651. 00000650  202F 0004                move.l     D0, [A7 + 0x4]
  652. 00000654  2F41 0004                move.l     [A7 + 0x4], D1
  653. 00000658  222F 0008                move.l     D1, [A7 + 0x8]
  654. 0000065C  2F5F 0004                move.l     [A7 + 0x4], [A7]+
  655. 00000660  48E7 3100                movem.l    -[A7], D2,D3,D7
  656. 00000664  4EBA 009C                jsr        [PC + 0x9C /* 00000702 */]
  657. 00000668  4CDF 008C                movem.l    D2,D3,D7, [A7]+
  658. 0000066C  221F                     move.l     D1, [A7]+
  659. 0000066E  4E75                     rts
  660. export_6:
  661. 00000670  202F 0004                move.l     D0, [A7 + 0x4]
  662. 00000674  2F41 0004                move.l     [A7 + 0x4], D1
  663. 00000678  222F 0008                move.l     D1, [A7 + 0x8]
  664. 0000067C  2F5F 0004                move.l     [A7 + 0x4], [A7]+
  665. 00000680  48E7 3100                movem.l    -[A7], D2,D3,D7
  666. 00000684  4EBA 007C                jsr        [PC + 0x7C /* 00000702 */]
  667. 00000688  2001                     move.l     D0, D1
  668. 0000068A  4CDF 008C                movem.l    D2,D3,D7, [A7]+
  669. 0000068E  221F                     move.l     D1, [A7]+
  670. 00000690  4E75                     rts
  671. export_7:
  672. 00000692  202F 0004                move.l     D0, [A7 + 0x4]
  673. 00000696  2F41 0004                move.l     [A7 + 0x4], D1
  674. 0000069A  222F 0008                move.l     D1, [A7 + 0x8]
  675. 0000069E  2F5F 0004                move.l     [A7 + 0x4], [A7]+
  676. 000006A2  48E7 3100                movem.l    -[A7], D2,D3,D7
  677. 000006A6  4EBA 002C                jsr        [PC + 0x2C /* 000006D4 */]
  678. 000006AA  4CDF 008C                movem.l    D2,D3,D7, [A7]+
  679. 000006AE  221F                     move.l     D1, [A7]+
  680. 000006B0  4E75                     rts
  681. export_8:
  682. 000006B2  202F 0004                move.l     D0, [A7 + 0x4]
  683. 000006B6  2F41 0004                move.l     [A7 + 0x4], D1
  684. 000006BA  222F 0008                move.l     D1, [A7 + 0x8]
  685. 000006BE  2F5F 0004                move.l     [A7 + 0x4], [A7]+
  686. 000006C2  48E7 3100                movem.l    -[A7], D2,D3,D7
  687. 000006C6  4EBA 000C                jsr        [PC + 0xC /* 000006D4 */]
  688. 000006CA  2001                     move.l     D0, D1
  689. 000006CC  4CDF 008C                movem.l    D2,D3,D7, [A7]+
  690. 000006D0  221F                     move.l     D1, [A7]+
  691. 000006D2  4E75                     rts
  692. fn000006D4:
  693. 000006D4  4A80                     tst.l      D0
  694. 000006D6  6A1C                     bpl        +0x1E /* 000006F4 */
  695. 000006D8  4A81                     tst.l      D1
  696. 000006DA  6A0C                     bpl        +0xE /* 000006E8 */
  697. 000006DC  4480                     neg.l      D0
  698. 000006DE  4481                     neg.l      D1
  699. 000006E0  4EBA 0020                jsr        [PC + 0x20 /* 00000702 */]
  700. 000006E4  4481                     neg.l      D1
  701. 000006E6  4E75                     rts
  702. label000006E8:
  703. 000006E8  4480                     neg.l      D0
  704. 000006EA  4EBA 0016                jsr        [PC + 0x16 /* 00000702 */]
  705. 000006EE  4480                     neg.l      D0
  706. 000006F0  4481                     neg.l      D1
  707. 000006F2  4E75                     rts
  708. label000006F4:
  709. 000006F4  4A81                     tst.l      D1
  710. 000006F6  6A0A                     bpl        +0xC /* 00000702 */
  711. 000006F8  4481                     neg.l      D1
  712. 000006FA  4EBA 0006                jsr        [PC + 0x6 /* 00000702 */]
  713. 000006FE  4480                     neg.l      D0
  714. 00000700  4E75                     rts
  715. fn00000702:
  716. 00000702  2E3C 0000 FFFF           move.l     D7, 0xFFFF
  717. 00000708  B280                     cmp.l      D1, D0
  718. 0000070A  6306                     bls        +0x8 /* 00000712 */
  719. 0000070C  2200                     move.l     D1, D0
  720. 0000070E  7000                     moveq.l    D0, 0x00
  721. 00000710  4E75                     rts
  722. label00000712:
  723. 00000712  B087                     cmp.l      D0, D7
  724. 00000714  620C                     bhi        +0xE /* 00000722 */
  725. 00000716  80C1                     divu.w     D0, D1
  726. 00000718  4840                     swap.w     D0
  727. 0000071A  3200                     move.w     D1, D0
  728. 0000071C  4240                     clr.w      D0
  729. 0000071E  4840                     swap.w     D0
  730. 00000720  4E75                     rts
  731. label00000722:
  732. 00000722  B287                     cmp.l      D1, D7
  733. 00000724  621A                     bhi        +0x1C /* 00000740 */
  734. 00000726  2E00                     move.l     D7, D0
  735. 00000728  4240                     clr.w      D0
  736. 0000072A  4840                     swap.w     D0
  737. 0000072C  80C1                     divu.w     D0, D1
  738. 0000072E  4840                     swap.w     D0
  739. 00000730  4847                     swap.w     D7
  740. 00000732  3E00                     move.w     D7, D0
  741. 00000734  4847                     swap.w     D7
  742. 00000736  8EC1                     divu.w     D7, D1
  743. 00000738  3007                     move.w     D0, D7
  744. 0000073A  4847                     swap.w     D7
  745. 0000073C  3207                     move.w     D1, D7
  746. 0000073E  4E75                     rts
  747. label00000740:
  748. 00000740  2400                     move.l     D2, D0
  749. 00000742  2601                     move.l     D3, D1
  750. label00000744:
  751. 00000744  E288                     lsr        D0, 1
  752. 00000746  E289                     lsr        D1, 1
  753. 00000748  B287                     cmp.l      D1, D7
  754. 0000074A  62F8                     bhi        -0x6 /* 00000744 */
  755. 0000074C  80C1                     divu.w     D0, D1
  756. 0000074E  C087                     and.l      D0, D7
  757. label00000750:
  758. 00000750  3203                     move.w     D1, D3
  759. 00000752  C2C0                     mulu.w     D1, D0
  760. 00000754  2E03                     move.l     D7, D3
  761. 00000756  4847                     swap.w     D7
  762. 00000758  CEC0                     mulu.w     D7, D0
  763. 0000075A  4847                     swap.w     D7
  764. 0000075C  D287                     add.l      D1, D7
  765. 0000075E  6508                     bcs        +0xA /* 00000768 */
  766. 00000760  9282                     sub.l      D1, D2
  767. 00000762  6204                     bhi        +0x6 /* 00000768 */
  768. 00000764  4481                     neg.l      D1
  769. 00000766  4E75                     rts
  770. label00000768:
  771. 00000768  5340                     subq.w     D0, 1
  772. 0000076A  60E4                     bra        -0x1A /* 00000750 */
  773. fn0000076C:
  774. 0000076C  7E00                     moveq.l    D7, 0x00
  775. fn0000076E:
  776. 0000076E  51F8 0A5E                sf         [0x00000A5E /* ResLoad */]
  777. 00000772  598F                     subq.l     A7, 4
  778. 00000774  2F06                     move.l     -[A7], D6
  779. 00000776  3F07                     move.w     -[A7], D7
  780. 00000778  A9A0                     syscall    GetResource
  781. 0000077A  201F                     move.l     D0, [A7]+
  782. 0000077C  6700 00AE                beq        +0xB0 /* 0000082C */
  783. 00000780  2640                     movea.l    A3, D0
  784. 00000782  598F                     subq.l     A7, 4
  785. 00000784  2F0B                     move.l     -[A7], A3
  786. 00000786  A9A5                     syscall    GetResourceSizeOnDisk/SizeResource/SizeRsrc
  787. 00000788  261F                     move.l     D3, [A7]+
  788. 0000078A  200B                     move.l     D0, A3
  789. 0000078C  2803                     move.l     D4, D3
  790. 0000078E  5247                     addq.w     D7, 1
  791. 00000790  EF47                     asl        D7.w, 7
  792. 00000792  5247                     addq.w     D7, 1
  793. 00000794  3A07                     move.w     D5, D7
  794. 00000796  6016                     bra        +0x18 /* 000007AE */
  795. label00000798:
  796. 00000798  598F                     subq.l     A7, 4
  797. 0000079A  2F06                     move.l     -[A7], D6
  798. 0000079C  3F07                     move.w     -[A7], D7
  799. 0000079E  A9A0                     syscall    GetResource
  800. 000007A0  201F                     move.l     D0, [A7]+
  801. 000007A2  6700 0088                beq        +0x8A /* 0000082C */
  802. 000007A6  5247                     addq.w     D7, 1
  803. 000007A8  0684 0000 7FFE           addi.l     D4, 0x7FFE
  804. label000007AE:
  805. 000007AE  558F                     subq.l     A7, 2
  806. 000007B0  2F00                     move.l     -[A7], D0
  807. 000007B2  A9A6                     syscall    GetResAttrs
  808. 000007B4  301F                     move.w     D0, [A7]+
  809. 000007B6  0800 0005                btst.b     D0, 0x5
  810. 000007BA  66DC                     bne        -0x22 /* 00000798 */
  811. 000007BC  50F8 0A5E                st         [0x00000A5E /* ResLoad */]
  812. 000007C0  CF45                     exg        D7, D5
  813. 000007C2  9A47                     sub.w      D5, D7
  814. 000007C4  661C                     bne        +0x1E /* 000007E2 */
  815. 000007C6  2003                     move.l     D0, D3
  816. 000007C8  A040                     syscall    ResrvMem/ReserveMem
  817. 000007CA  2F0B                     move.l     -[A7], A3
  818. 000007CC  A9A2                     syscall    LoadResource
  819. 000007CE  2013                     move.l     D0, [A3]
  820. 000007D0  6700 005A                beq        +0x5C /* 0000082C */
  821. 000007D4  2F0B                     move.l     -[A7], A3
  822. 000007D6  A992                     syscall    DetachResource
  823. 000007D8  2853                     movea.l    A4, [A3]
  824. 000007DA  204B                     movea.l    A0, A3
  825. 000007DC  A029                     syscall    HLock
  826. 000007DE  7001                     moveq.l    D0, 0x01
  827. 000007E0  4E75                     rts
  828. label000007E2:
  829. 000007E2  2004                     move.l     D0, D4
  830. 000007E4  A11E                     syscall    NewPtr, flags=1
  831. 000007E6  2008                     move.l     D0, A0
  832. 000007E8  6700 0042                beq        +0x44 /* 0000082C */
  833. 000007EC  2848                     movea.l    A4, A0
  834. 000007EE  2F0B                     move.l     -[A7], A3
  835. 000007F0  A9A2                     syscall    LoadResource
  836. 000007F2  2013                     move.l     D0, [A3]
  837. 000007F4  6700 0036                beq        +0x38 /* 0000082C */
  838. 000007F8  204B                     movea.l    A0, A3
  839. 000007FA  2003                     move.l     D0, D3
  840. 000007FC  6018                     bra        +0x1A /* 00000816 */
  841. label000007FE:
  842. 000007FE  598F                     subq.l     A7, 4
  843. 00000800  2F06                     move.l     -[A7], D6
  844. 00000802  3F07                     move.w     -[A7], D7
  845. 00000804  A9A0                     syscall    GetResource
  846. 00000806  201F                     move.l     D0, [A7]+
  847. 00000808  6700 0022                beq        +0x24 /* 0000082C */
  848. 0000080C  5247                     addq.w     D7, 1
  849. 0000080E  2040                     movea.l    A0, D0
  850. 00000810  203C 0000 7FFE           move.l     D0, 0x7FFE
  851. label00000816:
  852. 00000816  2F08                     move.l     -[A7], A0
  853. 00000818  2050                     movea.l    A0, [A0]
  854. 0000081A  224C                     movea.l    A1, A4
  855. 0000081C  D9C0                     add.l      A4, D0
  856. 0000081E  A02E                     syscall    BlockMove/BlockMoveData
  857. 00000820  A9A3                     syscall    ReleaseResource
  858. 00000822  51CD FFDA                dbf        D5, -0x28 /* 000007FE */
  859. 00000826  99C4                     sub.l      A4, D4
  860. 00000828  264C                     movea.l    A3, A4
  861. 0000082A  7001                     moveq.l    D0, 0x01
  862. label0000082C:
  863. 0000082C  4E75                     rts
  864. fn0000082E:
  865. 0000082E  204B                     movea.l    A0, A3
  866. 00000830  4A45                     tst.w      D5
  867. 00000832  6604                     bne        +0x6 /* 00000838 */
  868. 00000834  A023                     syscall    DisposHandle/DisposeHandle
  869. 00000836  4E75                     rts
  870. label00000838:
  871. 00000838  A01F                     syscall    DisposPtr/DisposePtr
  872. 0000083A  4E75                     rts
  873. fn0000083C:
  874. 0000083C  323C A9F0                move.w     D1, 0xA9F0
  875. 00000840  43FA F910                lea.l      A1, [PC - 0x6F0 /* 00000152, value 0x588F48E7 */]
  876. 00000844  4EBA 00B0                jsr        [PC + 0xB0 /* 000008F6 */]
  877. 00000848  323C A9F2                move.w     D1, 0xA9F2
  878. 0000084C  43FA F9BC                lea.l      A1, [PC - 0x644 /* 0000020A, value 0x4EBA0698 */]
  879. 00000850  4EBA 00A4                jsr        [PC + 0xA4 /* 000008F6 */]
  880. 00000854  323C A9F1                move.w     D1, 0xA9F1
  881. 00000858  43FA F98A                lea.l      A1, [PC - 0x676 /* 000001E4, value 0x588F206F */]
  882. 0000085C  4EBA 0098                jsr        [PC + 0x98 /* 000008F6 */]
  883. 00000860  323C A9F3                move.w     D1, 0xA9F3
  884. 00000864  43FA F9A4                lea.l      A1, [PC - 0x65C /* 0000020A, value 0x4EBA0698 */]
  885. 00000868  2078 0A78                movea.l    A0, [0x00000A78 /* ApplScratch */]
  886. 0000086C  B1FC 0000 0000           cmpa.l     A0, 0x0
  887. 00000872  6710                     beq        +0x12 /* 00000884 */
  888. 00000874  2028 0016                move.l     D0, [A0 + 0x16]
  889. 00000878  670A                     beq        +0xC /* 00000884 */
  890. 0000087A  2028 001C                move.l     D0, [A0 + 0x1C]
  891. 0000087E  6714                     beq        +0x16 /* 00000894 */
  892. 00000880  4EFA 0074                jmp        [PC + 0x74 /* 000008F6 */]
  893. label00000884:
  894. 00000884  4EBA 0070                jsr        [PC + 0x70 /* 000008F6 */]
  895. 00000888  323C A9F4                move.w     D1, 0xA9F4
  896. 0000088C  43FA F974                lea.l      A1, [PC - 0x68C /* 00000202, value 0x4EBA072A */]
  897. 00000890  4EFA 0064                jmp        [PC + 0x64 /* 000008F6 */]
  898. label00000894:
  899. 00000894  4EBA 0060                jsr        [PC + 0x60 /* 000008F6 */]
  900. 00000898  323C A9F4                move.w     D1, 0xA9F4
  901. 0000089C  43FA F972                lea.l      A1, [PC - 0x68E /* 00000210, value 0x4EBA071C */]
  902. 000008A0  4EFA 0054                jmp        [PC + 0x54 /* 000008F6 */]
  903. fn000008A4:
  904. 000008A4  2F08                     move.l     -[A7], A0
  905. 000008A6  206F 0008                movea.l    A0, [A7 + 0x8]
  906. 000008AA  2F68 0002 0008           move.l     [A7 + 0x8], [A0 + 0x2]
  907. 000008B0  203A 0076                move.l     D0, [PC + 0x76 /* 00000928, value 0x0, cstring "" */]
  908. 000008B4  6600 003C                bne        +0x3E /* 000008F2 */
  909. 000008B8  2078 02A6                movea.l    A0, [0x000002A6 /* SysZone */]
  910. 000008BC  700C                     moveq.l    D0, 0x0C
  911. 000008BE  D090                     add.l      D0, [A0]
  912. 000008C0  B0B8 02AA                cmp.l      D0, [0x000002AA /* ApplZone */]
  913. 000008C4  662C                     bne        +0x2E /* 000008F2 */
  914. 000008C6  4EBA 0066                jsr        [PC + 0x66 /* 0000092E */]
  915. 000008CA  323C A9F0                move.w     D1, 0xA9F0
  916. 000008CE  4EBA 0042                jsr        [PC + 0x42 /* 00000912 */]
  917. 000008D2  323C A9F1                move.w     D1, 0xA9F1
  918. 000008D6  4EBA 003A                jsr        [PC + 0x3A /* 00000912 */]
  919. 000008DA  323C A9F2                move.w     D1, 0xA9F2
  920. 000008DE  4EBA 0032                jsr        [PC + 0x32 /* 00000912 */]
  921. 000008E2  323C A9F3                move.w     D1, 0xA9F3
  922. 000008E6  4EBA 002A                jsr        [PC + 0x2A /* 00000912 */]
  923. 000008EA  323C A9F4                move.w     D1, 0xA9F4
  924. 000008EE  4EBA 0022                jsr        [PC + 0x22 /* 00000912 */]
  925. label000008F2:
  926. 000008F2  205F                     movea.l    A0, [A7]+
  927. 000008F4  4E75                     rts
  928. fn000008F6:
  929. 000008F6  3001                     move.w     D0, D1
  930. 000008F8  A146                     syscall    GetTrapAddress, flags=1
  931. 000008FA  2448                     movea.l    A2, A0
  932. 000008FC  700C                     moveq.l    D0, 0x0C
  933. 000008FE  A11E                     syscall    NewPtr, flags=1
  934. 00000900  3001                     move.w     D0, D1
  935. 00000902  A047                     syscall    SetTrapAddress
  936. 00000904  30FC 4EB9                move.w     [A0]+, 0x4EB9
  937. 00000908  20C9                     move.l     [A0]+, A1
  938. 0000090A  30FC 4EF9                move.w     [A0]+, 0x4EF9
  939. 0000090E  20CA                     move.l     [A0]+, A2
  940. 00000910  4E75                     rts
  941. fn00000912:
  942. 00000912  3001                     move.w     D0, D1
  943. 00000914  A146                     syscall    GetTrapAddress, flags=1
  944. 00000916  2268 0008                movea.l    A1, [A0 + 0x8]
  945. 0000091A  A01F                     syscall    DisposPtr/DisposePtr
  946. 0000091C  3001                     move.w     D0, D1
  947. 0000091E  2049                     movea.l    A0, A1
  948. 00000920  A047                     syscall    SetTrapAddress
  949. 00000922  4E75                     rts
  950. 00000924  0000 0000                ori.b      D0, 0x0
  951. 00000928  0000 0000                ori.b      D0, 0x0
  952. export_9:
  953. 0000092C  4E75                     rts
  954. fn0000092E:
  955. 0000092E  203A FFF4                move.l     D0, [PC - 0xC /* 00000924, value 0x0, cstring "" */]
  956. 00000932  6704                     beq        +0x6 /* 00000938 */
  957. 00000934  2040                     movea.l    A0, D0
  958. 00000936  4290                     clr.l      [A0]
  959. label00000938:
  960. 00000938  4E75                     rts
  961.